package com.jacobson.huobi.mvp.contract

import com.alibaba.fastjson.JSONObject
import com.jacobson.core.mvp.IModel
import com.jacobson.core.mvp.IPresenter
import com.jacobson.core.mvp.IView
import com.jacobson.huobi.entities.ForgetInfo
import com.jacobson.huobi.entities.LoginUserInfo
import com.jacobson.huobi.entities.RegisterInfo
import com.jacobson.huobi.entities.response.CommonResponse
import com.jacobson.huobi.entities.response.ForgetUserResponse
import com.jacobson.huobi.entities.response.LoginPageResponse
import io.reactivex.Observable

interface ForgetContract {
    interface Model : IModel{
        fun getVertiCode(
            phone: String
        ): Observable<LoginPageResponse>

        fun forgetUser(
            forgetInfo: ForgetInfo
        ): Observable<CommonResponse<JSONObject>>
    }
    interface View : IView {
        fun getVertiCode(response: LoginPageResponse)

        fun forgetUser(response: CommonResponse<JSONObject>)
    }
    interface Presenter : IPresenter {
        fun getVertiCode(
            phone: String
        )

        fun forgetUser(
            forgetInfo: ForgetInfo
        )
    }

}